55 research outputs found

    Opportunistic mobility with multipath TCP

    Get PDF
    Proceedings of: ACM MobiArch 2011, The 6th ACM International Workshop on Mobility in the Evolving Internet Architecture, June 28, 2011, Washington, D.C.Host mobility has traditionally been solved at the network layer, but even though Mobile IP has been standardised for 15 years, it hasn’t been supported by operators. IP’s double role as a location identif er and communication endpoint identif er brings a number of functional and performance problems. We argue that the best place to handle mobility is at the transport layer. While this is not a new argument, we believe that the emerging standard of Multipath TCP (MPTCP) can be used to solve many issues related to mobility. MPTCP naturally implements make-before-break, can be incrementally deployed, is backwards compatible with standard TCP, and could even ease incremental adoption of IPv6. Using simulations and indoor experiments with WiFi and 3G, we show that MPTCP gives better throughput, achieves smoother handoffs, and can be tuned to lower energy consumption.This research was supported by Trilogy (http://www.trilogy-project.org), a research project (ICT-216372) partially funded by the European Community under its Seventh Framework Programme. European Community's Seventh Framework ProgramThis work was partly funded by POSDRU/89/1.5/S/62557Publicad

    Loupe: Driving the Development of OS Compatibility Layers

    Full text link
    Supporting mainstream applications is fundamental for a new OS to have impact. It is generally achieved by developing a layer of compatibility allowing applications developed for a mainstream OS like Linux to run unmodified on the new OS. Building such a layer, as we show, results in large engineering inefficiencies due to the lack of efficient methods to precisely measure the OS features required by a set of applications. We propose Loupe, a novel method based on dynamic analysis that determines the OS features that need to be implemented in a prototype OS to bring support for a target set of applications and workloads. Loupe guides and boosts OS developers as they build compatibility layers, prioritizing which features to implement in order to quickly support many applications as early as possible. We apply our methodology to 100+ applications and several OSes currently under development, demonstrating high engineering effort savings vs. existing approaches: for example, for the 62 applications supported by the OSv kernel, we show that using Loupe, would have required implementing only 37 system calls vs. 92 for the non-systematic process followed by OSv developers. We study our measurements and extract novel key insights. Overall, we show that the burden of building compatibility layers is significantly less than what previous works suggest: in some cases, only as few as 20% of system calls reported by static analysis, and 50% of those reported by naive dynamic analysis need an implementation for an application to successfully run standard benchmarks.Comment: Accepted to appear at ASPLOS'24 (https://www.asplos-conference.org/asplos2024/

    FlexOS: Towards Flexible OS Isolation

    Get PDF
    At design time, modern operating systems are locked in a specific safety and isolation strategy that mixes one or more hardware/software protection mechanisms (e.g. user/kernel separation); revisiting these choices after deployment requires a major refactoring effort. This rigid approach shows its limits given the wide variety of modern applications' safety/performance requirements, when new hardware isolation mechanisms are rolled out, or when existing ones break. We present FlexOS, a novel OS allowing users to easily specialize the safety and isolation strategy of an OS at compilation/deployment time instead of design time. This modular LibOS is composed of fine-grained components that can be isolated via a range of hardware protection mechanisms with various data sharing strategies and additional software hardening. The OS ships with an exploration technique helping the user navigate the vast safety/performance design space it unlocks. We implement a prototype of the system and demonstrate, for several applications (Redis/Nginx/SQLite), FlexOS' vast configuration space as well as the efficiency of the exploration technique: we evaluate 80 FlexOS configurations for Redis and show how that space can be probabilistically subset to the 5 safest ones under a given performance budget. We also show that, under equivalent configurations, FlexOS performs similarly or better than several baselines/competitors.Comment: Artifact Evaluation Repository: https://github.com/project-flexos/asplos22-a

    Unikraft:Fast, Specialized Unikernels the Easy Way

    Get PDF
    Unikernels are famous for providing excellent performance in terms of boot times, throughput and memory consumption, to name a few metrics. However, they are infamous for making it hard and extremely time consuming to extract such performance, and for needing significant engineering effort in order to port applications to them. We introduce Unikraft, a novel micro-library OS that (1) fully modularizes OS primitives so that it is easy to customize the unikernel and include only relevant components and (2) exposes a set of composable, performance-oriented APIs in order to make it easy for developers to obtain high performance. Our evaluation using off-the-shelf applications such as nginx, SQLite, and Redis shows that running them on Unikraft results in a 1.7x-2.7x performance improvement compared to Linux guests. In addition, Unikraft images for these apps are around 1MB, require less than 10MB of RAM to run, and boot in around 1ms on top of the VMM time (total boot time 3ms-40ms). Unikraft is a Linux Foundation open source project and can be found at www.unikraft.or
    • …
    corecore